home *** CD-ROM | disk | FTP | other *** search
Wrap
import com.siemens.mp.NotAllowedException; import com.siemens.mp.gsm.Call; import com.siemens.mp.io.File; import java.util.Random; import java.util.Stack; import java.util.Vector; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.List; import javax.microedition.lcdui.Screen; import javax.microedition.lcdui.StringItem; import javax.microedition.lcdui.TextBox; import javax.microedition.midlet.MIDlet; public class Book extends MIDlet implements CommandListener, Runnable { // $FF: renamed from: aw java.lang.String static final String field_0 = "MicroReader"; // $FF: renamed from: Y java.lang.String static final String field_1 = "1.0"; // $FF: renamed from: al java.lang.String static final String field_2 = "Exit"; // $FF: renamed from: aK java.lang.String static final String field_3 = "Add bookmark"; // $FF: renamed from: E java.lang.String static final String field_4 = "Add"; // $FF: renamed from: ar java.lang.String static final String field_5 = "Clear"; // $FF: renamed from: r java.lang.String static final String field_6 = "Clear all"; // $FF: renamed from: if java.lang.String static final String field_7 = "Go to..."; // $FF: renamed from: j java.lang.String static final String field_8 = "Search..."; // $FF: renamed from: aj java.lang.String static final String field_9 = "Search"; // $FF: renamed from: aF java.lang.String static final String field_10 = "Reverse search"; // $FF: renamed from: R java.lang.String static final String field_11 = "Go to"; // $FF: renamed from: ab java.lang.String static final String field_12 = "Help"; // $FF: renamed from: t java.lang.String static final String field_13 = "Readme.1.0.txt"; // $FF: renamed from: T java.lang.String static final String field_14 = "View Readme"; // $FF: renamed from: P java.lang.String static final String field_15 = "Cancel"; // $FF: renamed from: q java.lang.String static final String field_16 = "Back"; // $FF: renamed from: aO java.lang.String static final String field_17 = "Setup..."; // $FF: renamed from: new java.lang.String static final String field_18 = "Character set..."; // $FF: renamed from: null java.lang.String static final String field_19 = "File..."; // $FF: renamed from: d java.lang.String static final String field_20 = "Open..."; // $FF: renamed from: n java.lang.String static final String field_21 = "Download..."; // $FF: renamed from: aJ java.lang.String static final String field_22 = "http://"; // $FF: renamed from: av java.lang.String static final String field_23 = "Edit.."; // $FF: renamed from: y java.lang.String static final String field_24 = "OK"; // $FF: renamed from: X java.lang.String static final String field_25 = "Save"; // $FF: renamed from: aq java.lang.String static final String field_26 = "Delete..."; // $FF: renamed from: au java.lang.String static final String field_27 = "Rename..."; // $FF: renamed from: D java.lang.String static final String field_28 = "prefs.cfg"; // $FF: renamed from: am java.lang.String static final String field_29 = "Page number..."; // $FF: renamed from: J java.lang.String static final String field_30 = "Bookmark"; // $FF: renamed from: aE java.lang.String static final String field_31 = "Random page"; // $FF: renamed from: s java.lang.String static final String field_32 = "First page"; // $FF: renamed from: O java.lang.String static final String field_33 = "Last page"; // $FF: renamed from: B java.lang.String static final String field_34 = "Furthest read"; // $FF: renamed from: f java.lang.String static final String field_35 = "Yes"; // $FF: renamed from: S java.lang.String static final String field_36 = "No"; // $FF: renamed from: aB byte static final byte field_37 = 0; // $FF: renamed from: ad byte static final byte field_38 = 1; // $FF: renamed from: M byte static final byte field_39 = 2; // $FF: renamed from: k byte static final byte field_40 = 3; // $FF: renamed from: do byte static final byte field_41 = 4; // $FF: renamed from: aI byte static final byte field_42 = 5; // $FF: renamed from: as byte static final byte field_43 = 6; // $FF: renamed from: char boolean public static boolean field_44 = false; // $FF: renamed from: e boolean public static boolean field_45 = false; // $FF: renamed from: try int private static final int field_46 = 4096; // $FF: renamed from: af byte[] private static byte[] field_47; // $FF: renamed from: H boolean[] boolean[] field_48 = new boolean[]{false, false, true, false, false, true, false}; // $FF: renamed from: N java.lang.String[] static final String[] field_49 = new String[]{"Bold font", "Large font", "Backlight", "Line scroll", "Full screen", "Smart format", "Line space"}; // $FF: renamed from: aA java.lang.String[] private static final String[] field_50 = new String[]{"File...", "Add bookmark", "Search...", "Go to...", "Edit..", "Setup...", "Help"}; // $FF: renamed from: i javax.microedition.lcdui.Command Command field_51; // $FF: renamed from: U javax.microedition.lcdui.Command Command field_52; // $FF: renamed from: aC Book static Book field_53; // $FF: renamed from: else javax.microedition.lcdui.Display Display field_54; // $FF: renamed from: aL f f field_55 = null; // $FF: renamed from: v javax.microedition.lcdui.TextBox TextBox field_56 = null; // $FF: renamed from: g javax.microedition.lcdui.TextBox TextBox field_57 = null; // $FF: renamed from: G javax.microedition.lcdui.TextBox TextBox field_58 = null; // $FF: renamed from: an javax.microedition.lcdui.TextBox TextBox field_59 = null; // $FF: renamed from: goto java.lang.String String field_60 = null; // $FF: renamed from: z java.util.Vector Vector field_61 = new Vector(); // $FF: renamed from: a java.util.Vector Vector field_62 = null; // $FF: renamed from: ak javax.microedition.lcdui.List List field_63 = null; // $FF: renamed from: ae javax.microedition.lcdui.Form static Form field_64 = null; // $FF: renamed from: long javax.microedition.lcdui.List private List field_65 = null; // $FF: renamed from: Q javax.microedition.lcdui.List private List field_66 = null; // $FF: renamed from: c javax.microedition.lcdui.List private List field_67 = null; // $FF: renamed from: x javax.microedition.lcdui.List private List field_68 = null; // $FF: renamed from: l javax.microedition.lcdui.Form private Form field_69 = null; // $FF: renamed from: byte javax.microedition.lcdui.Form Form field_70 = null; // $FF: renamed from: h javax.microedition.lcdui.List private List field_71 = null; // $FF: renamed from: A javax.microedition.lcdui.List private List field_72 = null; // $FF: renamed from: aD boolean public volatile boolean field_73 = false; // $FF: renamed from: aP boolean public volatile boolean field_74 = false; // $FF: renamed from: ay d d field_75; // $FF: renamed from: int b b field_76; // $FF: renamed from: ah java.util.Vector private Vector field_77; // $FF: renamed from: az java.lang.String private String field_78 = "http://"; // $FF: renamed from: void java.lang.String private String field_79; // $FF: renamed from: ax java.lang.String private static String field_80; // $FF: renamed from: aN javax.microedition.lcdui.List private List field_81 = null; // $FF: renamed from: ag java.lang.String static String field_82 = "Automatic"; // $FF: renamed from: aG java.lang.String[] static final String[] field_83 = new String[]{"First page", "Bookmark", "Page number...", "Furthest read", "Last page", "Random page"}; // $FF: renamed from: w char[] private static final char[] field_84 = new char[]{'"', '\t', ' ', '\r', '\n', '\'', '\u0000'}; // $FF: renamed from: for java.lang.String[] private static final String[] field_85 = new String[]{"About", "MicroReader 1.0 Copyright (c) 2002 Trond Hvoslef\n\nThis is a plain text file viewer for Siemens SL45i and M50.\nBookmarks and speedy handling of large text files\nmakes it usable as an eBook reader.\n\nComments to trhv@bigfoot.com are welcome.", "Keys", "Right: Next page.\nLeft: Previous page.\n1: Find previous. Long press goes to page 1.\n2: Previous line.\n3: Find next. Press long for new search.\n4: Previous page.\n5: Hold to show file info.\n6: Next page.\n7: Set default bookmark.\n8: Next line.\n9: Next word.\n*: Change font.\n#: Next byte.\n0: Backlight on/off.\nVol up/down: Page up/down.\nCall: Dial a number if found in text.\nHangup: Edit page.\nPlay: Slide show. \nLeft softkey: 'Go to...'\nRight softkey: Main menu.\nRecord: Toggle full screen mode.", "File menu", "Select a file from the list of recent files, open a new one, or exit program.\nPress Options to rename, delete, edit or download a file.", "Open file", "Files reside in the 'storage' folder where MicroReader is installed.\nKey in the file name (.txt is optional) and select OK.\nIf the file does not exist, a new one is created.", "Download file", "Choose option Download from File menu to get a text file from an Internet web server.\nProject Gutenberg (promo.net/pg) offers thousands of titles.\nFor easy access, get http://home.c2i.net/thvoslef/index.txt.", "Search", "Search forward or backward from current file position for a page containing\nthe word(s) you specify. Searches are case sensitive.\nPress keys 1/3 to repeat search reverse/forward.", "Go to", "Select Bookmark, Page number, Furthest read, First, Last or Random page.\nTo simplify, the size of a 'page' is defined as 128 bytes.", "Edit", "You can edit the current page with T9 input and save it back to the file.\nCut/Copy selects from cursor to Mark. Default Mark is at end of page.", "Bookmarks", "MicroReader automatically bookmarks current page and shows it when started.\n'Go to Bookmark' lists all bookmarks you have added, sorted by page number.\nUse key 7 to set (replace) the default bookmark.", "Slide show", "Press Play then read as usual, page up/down when you need to.\nMicroReader quickly learns how fast you read and turns the page for you.\nTo stop, press any other key.", "Setup", "Select bold, large or normal font.\nLine scroll: Makes navikey up/down scroll one line.\nBacklight: Forces light on.\nFull screen: Hide scrollbar and softkey.\nSmart format: Trim whitespace etc.\nLine space: May improve readability.\nCharacter sets: Arabic, Cyrillic and Central European are Windows encodings.\nWestern, Greek, Hebrew: ISO 8859."}; // $FF: renamed from: ai java.lang.String[] static final String[] field_86 = new String[]{"Open...", "Download...", "Rename...", "Edit..", "Cancel"}; // $FF: renamed from: p javax.microedition.lcdui.Command private Command field_87; // $FF: renamed from: L java.lang.String static String field_88 = null; // $FF: renamed from: aM java.lang.String private static final String field_89 = "Keep bookmarks"; // $FF: renamed from: V boolean private boolean field_90; // $FF: renamed from: at javax.microedition.lcdui.TextBox private TextBox field_91 = null; // $FF: renamed from: ac java.lang.String private String field_92 = null; // $FF: renamed from: aH java.lang.String private String field_93 = null; // $FF: renamed from: C javax.microedition.lcdui.TextBox private static TextBox field_94 = null; // $FF: renamed from: Z a private a field_95; // $FF: renamed from: W java.lang.String private static final String field_96 = "Line feed"; // $FF: renamed from: K java.lang.String private static final String field_97 = "Cut"; // $FF: renamed from: m java.lang.String private static final String field_98 = "Copy"; // $FF: renamed from: F java.lang.String private static final String field_99 = "Mark"; // $FF: renamed from: ap java.lang.String private static final String field_100 = "Paste"; // $FF: renamed from: ao java.lang.String[] private static final String[] field_101 = new String[]{"Save", "Line feed", "Cancel", "Mark", "Cut", "Copy"}; // $FF: renamed from: case java.lang.String private String field_102 = null; // $FF: renamed from: u java.lang.String private String field_103 = null; // $FF: renamed from: aa javax.microedition.lcdui.Command private Command field_104; // $FF: renamed from: I boolean boolean field_105 = false; // $FF: renamed from: b int private int field_106 = 256; // $FF: renamed from: o int private int field_107; protected void startApp() { System.gc(); this.method_64(); field_47 = new byte[4096]; this.method_17(); this.method_7(); if (this.field_61.size() > 0) { this.field_60 = (String)this.field_61.firstElement(); } else { this.method_23(this.method_45()); } this.field_55 = new f(this.field_60, this.field_48); this.field_54 = Display.getDisplay(this); this.field_51 = new Command("OK", 4, 0); this.field_52 = new Command("Cancel", 2, 1); for(int var1 = 0; var1 < field_50.length; ++var1) { this.field_55.addCommand(new Command(field_50[var1], 1, 0)); } this.method_50(); this.field_55.setCommandListener(this); this.field_54.setCurrent(this.field_55); Thread var2 = new Thread(this); var2.setPriority(1); var2.start(); Object var3 = null; } public void run() { this.field_75 = new d(); this.method_30(); int var1 = this.field_61.size(); for(int var2 = 1; var2 < var1; ++var2) { Vector var3 = this.field_61; synchronized(var3) { String var4 = (String)this.field_61.elementAt(var2); Thread.yield(); boolean var5 = !method_6(var4); Thread.yield(); var5 = var5 || this.field_61.indexOf(var4) != var2; if (var5) { this.field_61.removeElementAt(var2); --var2; } else { this.field_65.insert(var2, var4, (Image)null); } var1 = this.field_61.size(); } } if (var1 > 1) { this.field_65.addCommand(this.field_87); } } public Book() { field_53 = this; } // $FF: renamed from: try () Book public static Book method_0() { return field_53; } // $FF: renamed from: c () byte[] public static byte[] method_1() { return field_47; } protected void destroyApp(boolean var1) { this.field_65 = this.field_66 = this.field_67 = this.field_68 = this.field_72 = null; this.field_71 = null; this.field_56 = this.field_57 = this.field_59 = null; this.field_55 = null; this.field_75 = null; this.field_61 = null; this.field_60 = null; field_53 = null; this.field_54.setCurrent((Displayable)null); ((MIDlet)this).notifyDestroyed(); } protected void pauseApp() { ((MIDlet)this).notifyPaused(); } // $FF: renamed from: e (java.lang.String) byte[] static byte[] method_2(String var0) { byte[] var1 = new byte[0]; File var2 = new File(); try { int var3 = var2.open(var0); int var4 = var2.length(var3); var1 = new byte[var4]; var2.read(var3, var1, 0, var4); var2.close(var3); } catch (Exception var5) { } return var1; } // $FF: renamed from: a (java.lang.String, byte[], int, boolean) boolean static boolean method_3(String var0, byte[] var1, int var2, boolean var3) { File var4 = new File(); if (var3) { try { File.delete(var0); } catch (Exception var7) { } } try { int var5 = var4.open(var0); var4.write(var5, var1, 0, var2); var4.close(var5); return true; } catch (Exception var6) { return false; } } // $FF: renamed from: byte (java.lang.String) java.lang.String static String method_4(String var0) { return new String(method_2(var0)); } // $FF: renamed from: a (java.lang.String, java.lang.String, boolean) void static void method_5(String var0, String var1, boolean var2) { byte[] var3 = var1.getBytes(); method_3(var0, var3, var3.length, var2); } // $FF: renamed from: o (java.lang.String) boolean static boolean method_6(String var0) { try { return File.exists(var0) > 0; } catch (Exception var2) { field_44 = true; return false; } } // $FF: renamed from: i () void public void method_7() { if (this.field_48[2]) { e.if(); } } // $FF: renamed from: j () void public void method_8() { if (!(this.field_48[2] = !this.field_48[2])) { e.a(); } } // $FF: renamed from: l (java.lang.String) java.lang.String static String method_9(String var0) { String var1 = var0 + ".txt"; String var2 = null; if (method_6(var1)) { var2 = var1; } else if (method_6(var0)) { var2 = var0; } return var2; } // $FF: renamed from: m (java.lang.String) java.lang.String static String method_10(String var0) { int var2 = var0.lastIndexOf(47); if (var2 < 0) { var2 = 0; } else { ++var2; } String var1 = var0.substring(var2); int var3 = var1.lastIndexOf(46); if (var3 > 0 && var1.indexOf(".txt", var3) == var3) { var1 = var1.substring(0, var3); } return var1; } // $FF: renamed from: case (java.lang.String) java.lang.String static String method_11(String var0) { return method_10(var0) + ".bmk"; } // $FF: renamed from: a (java.lang.String) java.lang.String public String method_12(String var1) { return var1 + " [" + method_10(this.field_60) + "]"; } // $FF: renamed from: f () void void method_13() { if (this.field_55 != null) { int var1 = this.field_55.do(); this.field_55.a(var1); } } // $FF: renamed from: a (java.util.Vector, java.lang.String) void protected void method_14(Vector var1, String var2) { StringBuffer var3 = new StringBuffer(); for(int var4 = 0; var4 < var1.size(); ++var4) { String var5 = (String)var1.elementAt(var4); var3.append(var5); var3.append('|'); } var3.append('\u0000'); byte[] var6 = f.a(var3.toString()); method_3(var2, var6, var6.length, false); } // $FF: renamed from: a (java.lang.String, char, int) java.util.Vector static Vector method_15(String var0, char var1, int var2) { Vector var3 = new Vector(); int var5; for(int var4 = var2; var4 < var0.length() && var0.charAt(var4) != 0; var4 = var5 + 1) { var5 = var0.indexOf(var1, var4); if (var5 <= 0) { break; } var3.addElement(var0.substring(var4, var5)); } return var3; } // $FF: renamed from: a (java.lang.String, boolean) java.util.Vector public static Vector method_16(String var0, boolean var1) { byte[] var2 = method_2(var0); boolean var3 = var2.length > 1 && (var2[0] & 255) == 255 && (var2[1] & 255) == 254; var1 |= var3; String var4 = var1 ? f.a(var2) : new String(var2); return method_15(var4, '|', var3 ? 1 : 0); } // $FF: renamed from: b () void private void method_17() { field_80 = ((MIDlet)this).getAppProperty("Charset-map"); if (field_80 == null) { field_80 = ""; } field_82 = "Automatic"; field_44 = false; String var1 = System.getProperty("com.siemens.OSVersion"); if (var1 == null) { method_6("zøåæå1.xpefkl"); if (!field_44) { field_45 = true; } } Vector var2 = method_16("prefs.cfg", false); if (var2.size() > 0) { String var3 = (String)var2.elementAt(0); if (!Character.isDigit(var3.charAt(0))) { field_82 = var3; var2.removeElementAt(0); } } if (var2.size() > 0) { String var6 = (String)var2.elementAt(0); int var4 = this.field_48.length; if (var6.length() < var4) { var4 = var6.length(); } for(int var5 = 0; var5 < var4; ++var5) { this.field_48[var5] = var6.charAt(var5) != '0'; } var2.removeElementAt(0); } while(var2.size() > 0 && !method_6((String)var2.elementAt(0))) { var2.removeElementAt(0); } this.field_61 = var2; } // $FF: renamed from: a (java.lang.String, int) java.lang.String static String method_18(String var0, int var1) { String var2 = null; int var3 = var0.indexOf(61, var1); if (var3 >= 0) { int var4 = var0.indexOf(59, var3); if (var4 > var3) { var2 = var0.substring(var3 + 1, var4); } } return var2; } // $FF: renamed from: int () java.lang.String static String method_19() { String var0 = null; String var1 = field_82; if (var1.equals("Automatic")) { var1 = System.getProperty("com.siemens.language"); if (var1 == null) { var1 = System.getProperty("microedition.locale"); } var1 = "%" + var1; } int var2 = field_80.indexOf(var1); if (var2 >= 0) { var0 = method_18(field_80, var2 - 1); } return var0; } // $FF: renamed from: e () void protected synchronized void method_20() { byte[] var1 = method_1(); int var2 = 0; byte[] var3 = field_82.getBytes(); System.arraycopy(var3, 0, var1, var2, var3.length); var2 += var3.length; var1[var2++] = 124; for(int var4 = 0; var4 < this.field_48.length; ++var4) { var1[var2++] = (byte)(this.field_48[var4] ? 49 : 48); } var1[var2++] = 124; for(int var5 = 0; var5 < this.field_61.size(); ++var5) { String var6 = (String)this.field_61.elementAt(var5); var3 = var6.getBytes(); System.arraycopy(var3, 0, var1, var2, var3.length); var2 += var3.length; var1[var2++] = 124; } var1[var2++] = 0; method_3("prefs.cfg", var1, var2, false); } // $FF: renamed from: a () java.util.Vector Vector method_21() { Vector var1 = new Vector(); for(int var2 = 1; var2 < 9; ++var2) { String var3 = ((MIDlet)this).getAppProperty("URL-" + var2); if (var3 != null) { int var4 = var3.indexOf(61); if (var4 > 0) { var1.addElement(var3.substring(0, var4)); var1.addElement(var3.substring(var4 + 1)); } } } return var1; } // $FF: renamed from: a (java.lang.String, java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_22(String var1, String var2) { if (this.field_59 == null) { this.field_59 = new TextBox("", (String)null, 100, 4); this.field_59.addCommand(this.field_51); this.field_59.addCommand(new Command("Cancel", 2, 1)); Vector var3 = this.method_21(); for(int var4 = 0; var4 < var3.size(); var4 += 2) { this.field_59.addCommand(new Command((String)var3.elementAt(var4), 4, var4 + 5)); } } this.field_59.setTitle(var1); if (var2 != null) { this.field_59.setString(var2); } this.field_54.setCurrent(this.field_59); this.field_59.setCommandListener(this); return this.field_59; } // $FF: renamed from: f (java.lang.String) void public void method_23(String var1) { Vector var2 = this.field_61; synchronized(var2) { int var3 = this.field_61.indexOf(var1); if (var3 != 0) { if (var3 > 0) { this.field_61.removeElementAt(var3); if (this.field_65 != null) { this.field_65.delete(var3); } } this.field_61.insertElementAt(var1, 0); if (this.field_65 != null) { this.field_65.insert(1, this.field_60, (Image)null); if (var3 < 0 && this.field_61.size() == 2) { this.field_65.addCommand(this.field_87); } } this.field_60 = var1; this.method_20(); } } } // $FF: renamed from: k (java.lang.String) void public void method_24(String var1) { int var2 = this.field_61.indexOf(var1); if (var2 > 0) { this.field_61.removeElementAt(var2); if (this.field_65 != null) { this.field_65.delete(var2); if (this.field_61.size() == 1) { this.field_65.removeCommand(this.field_87); } } this.method_20(); } } // $FF: renamed from: j (java.lang.String) void protected void method_25(String var1) { this.field_55.null(); this.field_55.if(var1); if (field_88 == null) { this.method_23(var1); } } // $FF: renamed from: a (d, java.lang.String, int, boolean) void synchronized void method_26(d var1, String var2, int var3, boolean var4) { if (var3 >= 0) { this.field_55.a(var3); this.field_54.setCurrent(this.field_55); } else if (var4) { this.field_54.setCurrent(this.field_55); } else { this.field_56.setTitle("Not found"); this.field_54.setCurrent(this.field_56); } this.method_7(); this.field_73 = false; } // $FF: renamed from: a (boolean) javax.microedition.lcdui.Displayable protected Displayable method_27(boolean var1) { if (this.field_56 != null) { String var2 = this.field_56.getString(); if (var2.length() > 0) { int var3 = this.field_55.do(); if (var1) { if (this.field_55.ak.int > var3) { var3 = this.field_55.ak.int; } } else if (var3 > 0) { --var3; } this.method_13(); this.field_75.a(var2, this.field_60, var3, var1); this.field_73 = true; this.field_54.setCurrent(this.field_75); return null; } } return this.method_28(); } // $FF: renamed from: do () javax.microedition.lcdui.Displayable public Displayable method_28() { if (this.field_62 == null) { this.field_62 = method_16("srch.cfg", true); } int var1 = this.field_62.size(); this.field_56 = new TextBox("", (String)null, 80, 0); Command var2 = new Command("Search", 4, 0); Command var3 = new Command("Reverse search", 4, var1 + 3); this.field_56.addCommand(var2); this.field_56.addCommand(var3); this.field_56.addCommand(this.field_52); if (var1 > 0) { this.field_56.setString((String)this.field_62.elementAt(0)); for(int var4 = 1; var4 < var1; ++var4) { Command var5 = new Command("\"" + (String)this.field_62.elementAt(var4) + "\"", 4, var4 + 2); this.field_56.addCommand(var5); } } this.field_56.setTitle("Search for"); this.field_54.setCurrent(this.field_56); this.field_56.setCommandListener(this); return null; } // $FF: renamed from: p (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_29(String var1) { if (var1 != "Search" && var1 != "Reverse search") { if (var1 == "Cancel") { return this.field_55; } else { String var3 = var1.substring(1, var1.length() - 1); this.field_62.removeElement(var3); this.field_62.insertElementAt(var3, 0); return this.method_28(); } } else { String var2 = this.field_56.getString(); this.field_62.removeElement(var2); this.field_62.insertElementAt(var2, 0); if (this.field_62.size() > 6) { this.field_62.removeElementAt(6); } this.method_14(this.field_62, "srch.cfg"); return this.method_27(var1 == "Search"); } } // $FF: renamed from: long () javax.microedition.lcdui.Displayable private Displayable method_30() { if (this.field_72 == null) { this.field_72 = new List("", 3, field_83, (Image[])null); this.field_72.addCommand(this.field_52); } this.field_72.setTitle("Go to"); this.field_72.setSelectedIndex(1, true); return this.field_72; } // $FF: renamed from: b (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_31(String var1) { if (var1 != "Cancel") { this.method_48(this.field_72); String var2 = this.field_72.getString(this.field_72.getSelectedIndex()); if (var2 == "Page number...") { return this.method_58(); } if (var2 == "Bookmark") { return this.method_32(-1); } if (var2 == "Furthest read") { this.field_55.new(); } else if (var2 == "Last page") { this.field_55.a(f.I - 128 / 2, (char)(128 / 2 - 1)); } else if (var2 == "Random page") { int var3 = (new Random()).nextInt(); this.field_55.a(Math.abs(var3) % this.field_55.long(), '\u0080'); } else if (var2 == "First page") { this.field_55.a(0); } this.field_55.null(); } return this.field_55; } // $FF: renamed from: a (int) javax.microedition.lcdui.Displayable private Displayable method_32(int var1) { int var2 = this.field_55.new.size(); this.field_63 = new List("Bookmarks (" + var2 + ")", 3); for(int var3 = 0; var3 < var2; ++var3) { int var4 = this.field_55.if(var3); if (var1 < 0 && var4 == this.field_55.f) { var1 = var3; } String var5 = this.field_55.do(var4, 30); this.field_63.append(var5, (Image)null); } this.field_63.addCommand(new Command("Add", 4, 0)); if (var2 > 0) { this.field_63.addCommand(new Command("Clear", 4, 0)); this.field_63.addCommand(new Command("Clear all", 4, 0)); } this.field_63.addCommand(this.field_52); if (var1 >= 0) { this.field_63.setSelectedIndex(var1, true); } return this.field_63; } // $FF: renamed from: for (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_33(String var1) { if (var1 != "Cancel") { if (var1 == "Add") { return this.method_32(this.field_55.case()); } int var2 = this.field_63.getSelectedIndex(); int var3 = this.field_55.if(var2); if (var1 == "Clear all") { var3 = -1; var1 = "Clear"; } if (var1 == "Clear") { this.field_55.a(var3, true); return this.method_32(-1); } this.field_55.a(var3); } this.field_63 = null; return this.field_55; } // $FF: renamed from: new () javax.microedition.lcdui.Displayable private Displayable method_34() { this.field_71 = new List("Setup", 2, field_49, (Image[])null); this.field_71.setSelectedFlags(this.field_48); this.field_71.addCommand(this.field_51); this.field_71.addCommand(new Command("Character set...", 4, 0)); this.field_71.addCommand(this.field_52); return this.field_71; } // $FF: renamed from: h (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_35(String var1) { if (var1 == "OK") { this.method_48(this.field_71); this.field_71.getSelectedFlags(this.field_48); if (!this.field_48[2]) { e.a(); } if (this.field_81 != null) { int var2 = this.field_81.getSelectedIndex(); field_82 = this.field_81.getString(var2); this.method_48(this.field_81); } this.field_55.a(this.field_48); this.field_55.a(this.field_55.do()); this.method_20(); } else if (var1 == "Character set...") { this.field_81 = new List("Character set", 1); this.field_81.addCommand(this.field_51); this.field_81.addCommand(this.field_52); this.field_81.append("Automatic", (Image)null); int var4 = 0; while((var4 = field_80.indexOf(61, var4 + 1)) > 0) { String var3 = method_18(field_80, var4); if (var3 != null) { if (field_82.equals(var3)) { this.field_81.insert(0, var3, (Image)null); } else { this.field_81.append(var3, (Image)null); } } } this.field_81.setSelectedIndex(0, true); return this.field_81; } this.field_71 = null; this.field_81 = null; return this.field_55; } // $FF: renamed from: i (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_36(String var1) { this.method_13(); this.field_76 = new b(var1); this.field_74 = true; this.field_54.setCurrent(this.field_76); return null; } // $FF: renamed from: for () boolean private boolean method_37() { this.method_13(); this.field_77 = new Vector(); this.field_66 = new List("Download", 3); String var1 = this.field_55.do(this.field_55.do(), 300); var1 = var1.replace('\n', ' '); int var4 = -1; int var3 = 0; String var5 = this.field_55.do(0, 200); int var2; int var6; for(this.field_79 = this.method_38(var5); (var2 = var1.indexOf("T: ", var3)) >= var3; var3 = var6) { var6 = var1.indexOf("F: [", var2); if (var6 < var2) { break; } var4 = var1.indexOf(93, var6); if (var4 < var6) { break; } String var7 = var1.substring(var2 + 3, var6); this.field_66.append(var7, (Image)null); String var8 = var1.substring(var6 + 4, var4); this.field_77.addElement(var8); } this.field_66.addCommand(this.field_52); if (this.field_77.size() == 0) { var1 = this.method_38(var1); if (var1 != null) { this.field_78 = var1; } return false; } else { return true; } } // $FF: renamed from: void (java.lang.String) java.lang.String String method_38(String var1) { int var2 = var1.indexOf("http://"); int var3 = var1.length(); if (var2 >= 0) { for(int var4 = 0; var4 < field_84.length; ++var4) { int var5 = var1.indexOf(field_84[var4], var2); if (var5 > var2 && var5 < var3) { var3 = var5; } } if (var1.charAt(var3 - 1) == '.') { --var3; } var1 = var1.substring(var2, var3); return var1; } else { return null; } } // $FF: renamed from: null () javax.microedition.lcdui.Displayable private Displayable method_39() { return (Displayable)(this.method_37() ? this.field_66 : this.method_22("Enter URL", this.field_78)); } // $FF: renamed from: int (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_40(String var1) { Object var2 = this.field_55; if (var1 != "Cancel") { String var3 = (String)this.field_77.elementAt(this.field_66.getSelectedIndex()); if (var3.indexOf("http://") != 0 && this.field_79 != null) { if (var3.lastIndexOf(46) < 0) { var3 = var3 + ".txt"; } var3 = this.field_79 + var3; } var2 = this.method_22("Enter URL", var3); } this.field_77 = null; this.field_66 = null; return (Displayable)var2; } // $FF: renamed from: if () java.util.Vector Vector method_41() { String var1 = new String(this.field_55.goto().a()); Vector var2 = new Vector(); Stack var3 = new Stack(); int var4 = var1.length(); for(int var5 = 0; var5 < var4; ++var5) { char var6 = 0; char var7 = var1.charAt(var5); if (var7 == '+' || Character.isDigit(var7)) { StringBuffer var8 = new StringBuffer(); var8.append(var7); while(true) { ++var5; if (var5 >= var4) { break; } var6 = var7; var7 = var1.charAt(var5); if (" )-".indexOf(var7) < 0) { if (!Character.isDigit(var7)) { break; } var8.append(var7); } } if (var5 == var4 || var6 == ' ' || " .,\t\r\n".indexOf(var7) >= 0) { if (var8.length() >= 8) { var2.addElement(var8.toString()); } else if (var8.length() >= 5) { ((Vector)var3).insertElementAt(var8.toString(), 0); } } } } while(((Vector)var3).size() > 0) { var2.addElement(var3.pop()); } return var2; } // $FF: renamed from: goto () javax.microedition.lcdui.Displayable public Displayable method_42() { Vector var1 = this.method_41(); int var2 = var1.size(); if (var2 > 0) { this.field_58 = new TextBox("Call", "", 30, 3); this.field_58.addCommand(this.field_51); this.field_58.addCommand(this.field_52); for(int var3 = 1; var3 < var2; ++var3) { this.field_58.addCommand(new Command((String)var1.elementAt(var3), 4, var3 + 2)); } this.field_58.setCommandListener(this); this.field_54.setCurrent(this.field_58); if (var2 > 0) { this.field_58.setString((String)var1.elementAt(0)); this.method_43("OK"); } } return this.field_58; } // $FF: renamed from: goto (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_43(String var1) { if (var1 == "OK") { String var2 = this.field_58.getString(); if (var2.length() > 0) { try { Call.start(this.field_58.getString()); } catch (NotAllowedException var4) { } } } else { if (var1 == "Cancel") { this.field_58 = null; return this.field_55; } this.field_58.setString(var1); } return this.field_58; } // $FF: renamed from: a (b, java.lang.String, boolean, java.lang.String) void synchronized void method_44(b var1, String var2, boolean var3, String var4) { if (var4 != null) { this.field_54.setCurrent(this.method_22(var4, var2)); } else if (method_6(var2)) { this.method_55(var2); this.field_54.setCurrent(this.field_55); } this.field_76 = null; this.field_74 = false; this.method_7(); } // $FF: renamed from: d () java.lang.String private String method_45() { this.method_13(); File var1 = new File(); try { byte[] var2 = field_47; int var3 = var1.open("Readme.1.0.txt"); int var5 = "\r\n\r\n".length(); int var7 = 0; for(int var8 = 0; var8 < field_85.length; var8 += 2) { String var9 = field_85[var8]; if (var9.length() < 2) { break; } if (var8 != 0) { System.arraycopy("\r\n\r\n".getBytes(), 0, var2, var7, var5); var7 += var5; byte[] var6 = ("* " + var9 + "\r\n\r\n").getBytes(); System.arraycopy(var6, 0, var2, var7, var6.length); var7 += var6.length; } for(byte var12 : field_85[var8 + 1].getBytes()) { if (var12 == 10) { var2[var7++] = 13; } var2[var7++] = var12; } } var1.write(var3, var2, 0, var7); var1.close(var3); } catch (Exception var13) { } return "Readme.1.0.txt"; } // $FF: renamed from: n (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_46(String var1) { Object var2 = this.field_55; if (var1 == "View Readme") { try { this.method_48(this.field_68); if (!method_6("Readme.1.0.txt")) { this.method_45(); } this.method_55("Readme.1.0.txt"); this.field_55.a(0); } catch (Exception var6) { } return this.field_55; } else { if (var1 == null) { var2 = this.field_68 = new List("Help topics", 3); this.field_68.addCommand(new Command("Back", 2, 0)); } for(int var3 = 0; var3 < field_85.length; var3 += 2) { String var4 = field_85[var3]; String var5 = field_85[var3 + 1]; if (var1 == null) { this.field_68.append(var4, (Image)null); } else if (var4.indexOf(var1) == 0) { var2 = this.field_70 = new Form("Help/" + var4); this.field_70.append(var5); this.field_70.addCommand(new Command("OK", 2, 0)); break; } } if (var1 == null) { this.field_68.append("View Readme", (Image)null); } return (Displayable)var2; } } // $FF: renamed from: new (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_47(String var1) { if (var1 != "Back") { return this.method_46(this.field_68.getString(this.field_68.getSelectedIndex())); } else { this.field_68 = null; this.field_70 = null; return this.field_55; } } // $FF: renamed from: a (javax.microedition.lcdui.Screen) void private void method_48(Screen var1) { var1.setTitle("Please wait..."); } // $FF: renamed from: a (java.lang.String[], int, javax.microedition.lcdui.Displayable) void void method_49(String[] var1, int var2, Displayable var3) { for(int var4 = 0; var4 < var2; ++var4) { String var5 = var1[var4]; var3.addCommand(new Command(var5, var5 != "Cancel" ? 4 : 2, var4)); } } // $FF: renamed from: h () javax.microedition.lcdui.List private List method_50() { if (this.field_65 == null) { this.field_65 = new List("", 3); int var1 = field_86.length; this.method_49(field_86, var1, this.field_65); this.field_87 = new Command("Delete...", 4, var1); this.field_65.append("Open...", (Image)null); this.field_65.append("Exit", (Image)null); } this.field_65.setTitle(this.method_12("File")); this.field_65.setSelectedIndex(0, true); return this.field_65; } // $FF: renamed from: d (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_51(String var1) { if (var1 != "Cancel") { int var2 = this.field_65.getSelectedIndex(); String var3 = this.field_65.getString(var2); String var4 = var3; if (!this.field_61.contains(var3)) { var4 = this.field_60; } if (var1 == "Delete...") { return this.method_57(var4); } if (var1 == "Rename...") { return this.method_61(var4); } if (var1 == "Download...") { return this.method_39(); } if (var1 == "Edit..") { if (!var4.equals(this.field_60)) { this.method_48(this.field_65); this.method_55(var4); } return this.method_65(); } if (var1 == "Open..." || var3 == "Open...") { return this.method_22("Enter file name", ""); } if (var3 == "Exit") { this.field_55.null(); this.destroyApp(false); } else { this.method_48(this.field_65); field_88 = var4; this.method_55(var4); } } return this.field_55; } // $FF: renamed from: else () void static void method_52() { if (field_88 != null) { field_53.method_23(field_88); field_88 = null; } } // $FF: renamed from: c (java.lang.String) boolean boolean method_53(String var1) { for(int var2 = var1.length() - 1; var2 >= 0; --var2) { char var3 = var1.charAt(var2); if ("*:<>\"?|".indexOf(var3) >= 0) { return false; } } return true; } // $FF: renamed from: else (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_54(String var1) { if (var1 == "OK") { String var2 = this.field_59.getString(); if (var2.length() == 0) { this.field_59.setTitle("Enter file name"); return null; } if (var2.indexOf("http://") == 0) { this.field_55.null(); if (var2.length() < "http://".length() + 5) { return null; } this.field_78 = var2; return this.method_36(var2); } if (!this.method_53(var2)) { return null; } this.method_48(this.field_59); if (!this.method_55(var2)) { String var3 = method_10(var2) + ".txt"; byte[] var4 = f.do(var2); method_3(var3, var4, var4.length, false); if (method_6(var3) && this.method_55(var3)) { return this.method_65(); } this.field_59.setTitle("Could not open"); return null; } } else if (var1 != "Cancel") { Vector var5 = this.method_21(); int var6 = var5.indexOf(var1); if (var6 >= 0) { this.field_59.setString((String)var5.elementAt(var6 + 1)); return null; } return this.field_65; } return this.field_55; } // $FF: renamed from: do (java.lang.String) boolean private boolean method_55(String var1) { var1 = method_9(var1); if (var1 != null) { this.method_25(var1); return true; } else { return false; } } // $FF: renamed from: if (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_56(String var1) { if (var1 == "Keep bookmarks") { this.field_90 = true; return null; } else { if (var1 != "Cancel" && this.field_61.size() > 1) { try { this.method_48(this.field_69); String var2 = ((StringItem)this.field_69.get(0)).getText(); if (var2.equals(this.field_60)) { this.method_55((String)this.field_61.elementAt(1)); } try { File.delete(var2); } catch (Exception var4) { } this.method_24(var2); if (!this.field_90) { File.delete(method_11(var2)); } } catch (Exception var5) { } } this.field_69 = null; return this.method_50(); } } // $FF: renamed from: null (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_57(String var1) { this.field_90 = false; this.field_69 = new Form("Delete"); this.field_69.insert(0, new StringItem("File:", var1)); this.field_69.addCommand(this.field_52); this.field_69.addCommand(new Command("Keep bookmarks", 8, 0)); this.field_69.addCommand(this.field_51); return this.field_69; } // $FF: renamed from: char () javax.microedition.lcdui.Displayable private Displayable method_58() { if (this.field_57 == null) { this.field_57 = new TextBox("Enter page number", (String)null, 10, 2); Command var1 = new Command("Go to", 4, 0); this.field_57.addCommand(var1); this.field_57.addCommand(this.field_52); } return this.field_57; } // $FF: renamed from: g (java.lang.String) javax.microedition.lcdui.Displayable private Displayable method_59(String var1) { if (var1 == "Go to") { String var2 = this.field_57.getString(); try { int var3 = Integer.parseInt(var2); this.field_55.a((var3 - 1) * 128, (char)(128 / 4)); } catch (Exception var4) { return this.field_57; } } return this.field_55; } // $FF: renamed from: g () void void method_60() { Displayable var1 = this.method_30(); var1.setCommandListener(this); this.field_54.setCurrent(var1); System.gc(); } // $FF: renamed from: try (java.lang.String) javax.microedition.lcdui.Displayable Displayable method_61(String var1) { this.field_93 = var1; this.field_92 = method_10(var1); this.field_91 = new TextBox("Rename", this.field_92, 30, 4); this.field_91.addCommand(this.field_51); this.field_91.addCommand(this.field_52); return this.field_91; } // $FF: renamed from: long (java.lang.String) javax.microedition.lcdui.Displayable Displayable method_62(String var1) { int var2 = this.field_65.getSelectedIndex(); if (var1 != "Cancel") { String var3 = this.field_91.getString(); if (!this.method_53(var3)) { return null; } if (!this.field_93.equals(this.field_92) && var3.indexOf(".txt") != var3.length() - 4) { var3 = var3 + ".txt"; } String var4 = method_10(var3); if (!var3.equals(this.field_93)) { String var5 = method_11(var4); if (method_6(var3)) { this.field_91.setTitle("File exists"); return null; } try { this.method_48(this.field_91); int var6 = this.field_61.indexOf(this.field_93); if (var6 == 0) { this.field_55.else(); } File.rename(method_11(this.field_93), var5); File.rename(this.field_93, var3); if (var6 >= 0) { this.field_61.setElementAt(var3, var6); this.method_20(); if (var6 == 0) { this.field_55.if(this.field_60 = var3); } else { this.field_65.set(var2, var3, (Image)null); } } } catch (Exception var7) { } } } this.field_91 = null; this.field_93 = null; this.field_65 = this.method_50(); this.field_65.setSelectedIndex(var2, true); return this.field_65; } // $FF: renamed from: byte () boolean boolean method_63() { if (this.field_102 != null && this.field_102.length() > 0 && this.field_102.length() + field_94.size() < this.field_106) { if (!this.field_105) { field_94.addCommand(this.field_104); this.field_105 = true; } } else if (this.field_105) { field_94.removeCommand(this.field_104); this.field_105 = false; } return this.field_105; } // $FF: renamed from: void () void void method_64() { field_94 = new TextBox("", "", this.field_106, 0); this.method_49(field_101, field_101.length, field_94); this.field_104 = new Command("Paste", 4, 6); field_64 = new Form(""); field_64.append(new StringItem("", "Save changes?")); field_64.addCommand(new Command("Yes", 4, 1)); field_64.addCommand(new Command("No", 4, 0)); } // $FF: renamed from: case () javax.microedition.lcdui.Displayable Displayable method_65() { this.method_13(); TextBox var1 = field_94; this.field_95 = this.field_55.goto(); field_94.setTitle(this.method_12("Edit")); field_94.setString(this.field_95.a()); this.method_63(); field_94.setCommandListener(this); this.field_107 = field_94.size(); this.field_54.setCurrent(var1); return var1; } // $FF: renamed from: a (int, int) void static void method_66(int var0, int var1) { String var2 = "" + var0 * 100 / var1 + "% saved"; field_94.setTitle(var2); field_64.setTitle(var2); } // $FF: renamed from: char (java.lang.String) javax.microedition.lcdui.Displayable Displayable method_67(String var1) { int var2 = field_94.getCaretPosition(); if (var1 == "Yes") { this.method_48(field_64); var1 = "Save"; } if (var1 == "Save") { if (this.field_103 == null) { this.field_103 = field_94.getString(); } String var3 = this.field_103; if (!var3.equals(this.field_95.a())) { this.method_48(field_94); byte[] var4 = f.do(var3); String var5 = this.field_55.a(this.field_95, var4); if (var5 != null) { field_94.setTitle(var5); return field_94; } char[] var6 = this.field_95.do(); int var7 = this.field_95.new; int var8 = var3.length(); int var9 = this.field_95.if(); int var10 = var4.length - this.field_95.a; char var11 = 0; if (var10 > 0) { a var12 = this.field_55.a(var4, 0, '\u0000', (char)var4.length); int var13 = var12.for(); Object var22 = null; Object var17 = null; if (var13 >= this.field_55.p) { int var14 = var9; int var15 = var8; while(true) { --var14; if (var14 < 0) { break; } --var15; if (var15 < var9) { break; } if (var6[var14] != var3.charAt(var15)) { var7 += var10; var11 = (char)Math.min(var10 + 16, var8); break; } } } } this.field_55.a(var7, var11); } } else if (var1 == "Cancel") { this.field_103 = field_94.getString(); if (!this.field_103.equals(this.field_95.a())) { field_64.setTitle("Text changed"); return field_64; } } else if (var1 != "No") { if (var1 == "Line feed") { field_94.insert("\n", var2); this.field_107 = field_94.size(); } else if (var1 != "Copy" && var1 != "Cut") { if (var1 == "Mark") { this.field_107 = var2; } else if (var1 == "Paste" && this.method_63()) { field_94.insert(this.field_102, var2); this.field_107 = field_94.size(); } } else { String var16 = field_94.getString(); int var18 = var16.length(); this.field_107 = Math.min(this.field_107, var18); int var19 = var2; int var20 = this.field_107; if (var2 == var20) { var19 = 0; if (var20 == 0) { var20 = var18; } } if (var19 > var20) { int var21 = var20; var20 = var19; var19 = var21; } this.field_102 = var16.substring(var19, var20); if (var1 == "Cut") { field_94.delete(var19, var20 - var19); this.field_107 = field_94.size(); } } this.method_63(); return null; } this.field_103 = null; field_94.setString(""); this.field_95 = null; return this.field_55; } public void commandAction(Command var1, Displayable var2) { this.field_73 = false; String var3 = var1.getLabel(); this.field_55.try(); boolean var4 = false; Object var5 = this.field_55; this.method_7(); this.method_13(); if (var2 == this.field_65) { var5 = this.method_51(var3); } else if (var2 != this.field_71 && var2 != this.field_81) { if (var2 == this.field_66) { var5 = this.method_40(var3); } else if (var2 == this.field_68) { var5 = this.method_47(var3); } else if (var2 == this.field_70) { var5 = this.field_68; } else if (var2 == this.field_57) { var5 = this.method_59(var3); } else if (var2 == this.field_59) { var5 = this.method_54(var3); } else if (var2 == this.field_56) { var5 = this.method_29(var3); } else if (var2 == this.field_72) { var5 = this.method_31(var3); } else if (var2 == this.field_69) { var5 = this.method_56(var3); } else if (var2 == this.field_58) { var5 = this.method_43(var3); } else if (var2 == field_94) { var5 = this.method_67(var3); } else if (var2 == field_64) { var5 = this.method_67(var3); } else if (var2 == this.field_91) { var5 = this.method_62(var3); } else if (var2 == this.field_63) { var5 = this.method_33(var3); } else if (var3 == "Add bookmark") { var5 = this.method_32(this.field_55.case()); } else if (var3 == "Search...") { var5 = this.method_28(); } else if (var3 == "Go to...") { var5 = this.method_30(); } else if (var3 == "Edit..") { var5 = this.method_65(); } else if (var3 == "File...") { var5 = this.method_50(); } else if (var3 == "Setup...") { var5 = this.method_34(); } else if (var3 == "Help") { var5 = this.method_46((String)null); } } else { var5 = this.method_35(var3); } this.method_7(); if (var5 != null) { ((Displayable)var5).setCommandListener(this); this.field_54.setCurrent((Displayable)var5); } } }